package com.zjxf.base.bean.ro;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * ro农副产品
 *
 * @author ZhangWei
 * @date 2021/4/6/006 15:45
 */
public class RoPmsAsProduct {

    @Getter
    @Setter
    public static class Details {

        /**
         * id
         */
        private Long id;

        /**
         * 商品分类id
         */
        @NotNull(message = "请填写商品分类id")
        private Long ClassifyId;

        /**
         * 店铺id
         */
        @NotNull(message = "请填写商品所属店铺id")
        private Long storeId;

        /**
         * 商品名称
         */
        @NotBlank(message = "请填写商品名称")
        private String name;

        /**
         * 副标题
         */
        private String subtitleName;

        /**
         * 商品位置类型
         */
        @NotNull(message = "请填写商品显示位置")
        private Integer showLocation;

        /**
         * 商品编号
         */
        @NotBlank(message = "请填写商品编号")
        private String sn;

        /**
         * 商品品牌
         */
        @NotBlank(message = "请填写商品品牌")
        private String brand;

        /**
         * 商品售价
         */
        @NotBlank(message = "请填写商品售价")
        private BigDecimal price;

        /**
         * 市场价
         */
        @NotBlank(message = "请填写商品市场价")
        private BigDecimal originalPrice;

        /**
         * 库存
         */
        @NotNull(message = "请填写库存")
        private Integer stock;

        /**
         * 计量单位
         */
        @NotBlank(message = "请填写商品计量单位")
        private String unit;

        /**
         * 商品重量,默认为克
         */
        @NotBlank(message = "请填写商品重量，默认为克")
        private BigDecimal weight;

        /**
         * 销售属性
         */
        @NotBlank(message = "请填写商品销售属性")
        private String sellData;

        /**
         * 展示属性 多个","隔开
         */
        @NotBlank(message = "请填写商品参数属性，多个以,隔开")
        private String showData;

        /**
         * 图片集
         */
        @NotBlank(message = "请上传图片，最多为6张")
        private String pics;

        /**
         * 商品详情
         */
        private String detailHtml;
    }

    @Getter
    @Setter
    public static class SellerPage {

        /**
         * id
         */
        private Long id;

        /**
         * 产品类型名称
         */
        private String classifyName;

        /**
         * 商品名称
         */
        private String name;

        /**
         * 库存
         */
        private Integer stock;

        /**
         * 创建时间
         */
        @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
        private LocalDateTime createTime;

        /**
         * 商品上架状态
         */
        private Integer publishStatus;

        /**
         * 审核状态
         */
        private Integer verifyStatus;

    }
}
